import java.util.Scanner;
 
public class Lesson11 {
    public static void main(String[] args) {
        // 创建Scanner对象用于接收用户输入
        Scanner userInput = new Scanner(System.in);
        
        // 提示用户输入预测的年数
        System.out.print("Enter the number of years for population projection: ");
        int projectionYears = userInput.nextInt();
        
        // 当前人口数量（2023年美国人口近似值）
        final long INITIAL_POPULATION = 312032487L;
        
        // 计算一年的总秒数（考虑闰年？这里简化处理）
        int secondsInYear = 365 * 24 * 60 * 60;
        
        // 计算每年的出生、死亡和移民人数
        double annualBirths = secondsInYear / 7.0;    // 每7秒1人出生
        double annualDeaths = secondsInYear / 13.0;   // 每13秒1人死亡
        double annualImmigrants = secondsInYear / 45.0; // 每45秒1名新移民
        
        // 计算人口净增长
        double netGrowthRate = annualBirths - annualDeaths + annualImmigrants;
        
        // 计算未来人口（强制转换为long避免浮点误差）
        long projectedPopulation = INITIAL_POPULATION + (long) (netGrowthRate * projectionYears);
        
        // 输出结果（使用printf格式化输出）
        System.out.printf("The estimated population after %d years will be %,d%n", 
                         projectionYears, projectedPopulation);
        
        // 关闭Scanner资源
        userInput.close();
    }
}